Alright so we will be look at 1-9 as a guide. As of right now, I barely know anything but I will tell
you what I have learned so far.

The first few lines of code I believe is the header data for the level. The only thing I understand from it
so far is the sprite data. In level 1-9 you should see some lines of code in a hex editor that look like this :

03 00 00 00 96 00 00 00 9C 00 00 00 A6 00 00 00 AE 00 00 00 B5 00 00 00 

All of this is the sprite data in the level. If the sprite you are trying to put in a level isn't one
of these values, the sprite will be invisible in the level. It seems like the sprite values count in 8
bytes. Meaning the six 0's after each value has to be that way. In case if you are wondering what each value
is. 

03 is for Mini Mario
96 is for the elevator platform itself (yes it's a sprite)
9C is for Shy Guy's
A6 is for Hammers
AE is for Toss/Circus Kong
B5 is for the Yellow Springboard


As of right now, I don't know how you can add more sprite data to a level since what I have tried has
crashed the game so far. But we will be looking at two things you can do if you want to edit the sprites.
After the header data, you will see a bunch of 00's. All of this is where the sprites are stored in levels.
This is usually very long and will go on until you see things such as 1B a few 00's and then 1B again and so on.
For how sprites work in the levels themselves all I know is that it goes by XX (sprite number itself) and the value
after that is it's facing position. 00 is facing right and 80 is facing left. When scrolling in the level data
for 1-9, the first sprite you should find is is A6 00, which is the hammer powerup. If we were to change
this to 9C 00, it will become a Shy Guy. We could also use this sprite as a guide if we wanted to add
another sprite next to it in a level. The 00 00's next to this can have sprites on them, they just are empty.
You will notice that all of the levels in the sprite section of the data has a lot of 00 00's since all levels
have more sprite positions without sprites instead of vice versa.

If we want to add a sprite from another level here, we are able to but there are things we need to consider.
The method we will have to do is replace a sprite slot with the one we want. If we want to replace the
Circus/Toss Kong with the Capture Kong in the level. What we would need to do is change the AE 00 00 00
to B2 00 00 00 in the sprite header data section. When we do this the Circus/Toss Kong's in the level will
now be invisible if we were to test the level. What we could do is either get rid of the Circus/Toss Kong's
in the level or replace them with Capture Kong's.

A screenshot is included in this zip file that shows what happens when you replace the Circus/Toss Kong's 
with Capture Kongs.
